#!/usr/bin/env node
//写入位图

var fs = require('fs');

var width = 16;
var height = 16;

//位图的字节数：长*宽*每个像素所占的字节数
var pixelByteSize = width * height *4;
//位图的文件大小
var totalSize = pixelByteSize + 54;

var buf = Buffer.alloc(totalSize);

buf.fill(0);

//head
buf.write('BM');
//位图大小,02偏移量
buf.writeUInt32LE(totalSize,0x02);
//头的大小，偏移量0a
buf.writeUInt32LE(54,0x0a);
//头数据大小40，54为偏移量，第54个字节之后存放位图的数据
buf.writeUInt32LE(40,0x0e);
//颜色的板数，1为固定值
buf.writeUInt16LE(1,0x1a);
//颜色的色深
buf.writeUInt32LE(32,0x1c);

buf.writeUInt32LE(pixelByteSize,0x22);
buf.writeUInt32LE(height,0x16);
buf.writeUInt32LE(width,0x12);

//data

for(var i = 54; i< totalSize;i+=4){
    buf.writeUInt32LE(0xff0000ff,i);
}

//写入文件
fs.writeFile('./out.bmp',buf,function(err){
    if(err != null){
        console.error(err);
        process.exit(1);
    }
});